This invention relates in general to knowledge systems, and more particularly to a method and apparatus for communicating with a knowledge base.
Knowledge systems are computer-based systems that emulate human reasoning by using an inference engine to interpret encoded knowledge that is stored in a knowledge base. If the domain of the knowledge base is sufficiently narrow and a sufficiently large body of knowledge is properly coded in the knowledge base, then the knowledge system can achieve performance that may approach, match or even exceed the ability of human experts.
Knowledge systems are often employed as an on-line reference, as a computer-based training tool, or as a problem-solving tool. Typically, a knowledge system is implemented by binding an application to a knowledge base. The application is bound to the knowledge base by directly intermeshing the messaging system of the application with that of the knowledge base. As a result, the application and the knowledge base are fully integrated and thereby able to communicate.
Such customization that unites the application with the knowledge base, however, is expensive. Moreover, intermeshing the application messaging system prevents communication with other resources. Additionally, the customization generally requires the application to run on the knowledge base platform. Thus, the features and the tools available to the application are limited to those that are provided by the knowledge base platform.
In accordance with the present invention, an apparatus and method for communicating with a knowledge base is provided that substantially eliminates or reduces the disadvantages and problems associated with prior knowledge systems.
In accordance with one embodiment of the present invention, an apparatus for communicating between a knowledge base and an application includes an interface coupled to the knowledge base and to the application. The application may be an on-line reference program, a computer-based training program, a problem solving program, or another type of program capable of initiating messages for knowledge base operations. The interface receives and translates messages initiated by the application. Each message is translated to a knowledge base message that is cognizable by the knowledge base. The interface then communicates the knowledge base message to the knowledge base.
More specifically, the present invention includes a suite of knowledge base messages for translating the message initiated by the application. The knowledge base message may be an object-oriented message capable of accessing an object of the knowledge base. Additionally, the interface may receive a reply from the knowledge base. The reply is translated to an application reply that is cognizable by the application. The interface communicates the application reply to the application.
In a client-server embodiment of the present invention, a distributed knowledge system includes a link for communicating between an application and a knowledge base. The application is coupled to a client interface that receives and translates messages initiated by the application. Each message is translated to a knowledge base message that is cognizable by the knowledge base. The knowledge base message is sent to the knowledge base via the link. The message is received by a server interface that is coupled to the knowledge base. The server interface communicates the knowledge base message to the knowledge base. More specifically, prior to sending a message via the link, the client interface may encode the knowledge base message. In such case, the server interface decodes the knowledge base message received from the link.
Additionally, the server interface may receive a reply from the knowledge base. The server interface sends the reply to the client interface via the link. At the client interface, the reply is translated to an application reply that is cognizable by the application. The client interface communicates the application reply to the application.
Important technical advantages of the present invention include a knowledge system having an interface of modular design for use with different types of applications. In particular, an application need not be customized now in order to communicate with a knowledge base. Accordingly, the present invention provides an affordable knowledge system by eliminating the cost of such customization.
Another important technical advantage of the present invention includes providing a knowledge system with increased capabilities. In particular, the present invention allows an application to access the knowledge base over a network. Accordingly, the application can be run on a platform that is best suited for the application""s needs. Moreover, the ability to access a knowledge base over a network also allows for more sophisticated application programs that can use a knowledge base in conjunction with a relational data base and other problem solving tools. Therefore, the present invention greatly increases the power and versatility of knowledge systems.
Still another technical advantage of the present invention includes providing a knowledge system with increased ease of use. In particular, the method and apparatus of the present invention for communicating with a knowledge base are transparent to the user. Accordingly, a user need not learn superfluous skills to operate the knowledge system of the present invention.
Other technical advantages are readily apparent to one skilled in the art from the following figures, descriptions, and claims.